The present invention relates to data networking and, in certain implementations to the operation of a policer.
The Defense Information Systems Agency of the United States Department of Defense, with its contractors, has proposed a service architecture for military (NATO and related agencies) telephone systems. This is called the Assured Service, and is defined in two documents: Pierce, et al. “Architecture for Assured Service Capabilities in Voice over IP”, Internet Draft, Internet Engineering Task Force, June 2003 and Pierce, et al. “Requirements for Assured Service Capabilities in Voice over IP”, Internet Draft, Internet Engineering Task Force, June 2003. The Assured Service environment provides voice calls with different levels of precedence. In the event of traffic congestion, mission critical calls will be unaffected while calls of lower level precedence may experience reduced quality.
It has been determined that Call Admission Control (CAC) procedures are also necessary to achieve the desired Assured Service capabilities. See Baker, et al., “MLEF Without Capacity Admission Does Not Satisfy MLPP Requirements,” Internet Draft, Internet Engineering Task Force, February 2004. In particular, CAC ensures that, during contention within one level of priority, the system does not end up degrading the quality of service of all the calls at that priority so that no effective communication can actually happen at that priority. Rather, in case of contention, CAC can reject the excessive calls which are beyond the current system capacity to make sure that all the calls within the system capacity experience satisfactory quality of service allowing effective communication at that priority.
It has been found that the well-known RSVP protocol can be used to provide such CAC procedures in combination with certain other mechanisms to fully support the Assured Service Capabilities using EF (Expedited Forwarding) PHB (per hop behavior) in the data path. See Baker, et al. “Implementing MLPP for Voice and Video in the Internet Protocol Suite,” Internet Draft, Internet Engineering Task Force, February 2004. The CAC procedures operated by the control plane avoid contention by data packets under normal (non-transient conditions). Some loss could potentially occur, however, in some special circumstances such as routing transients and variable rate beat frequencies.
Under these transient conditions a policer can be used to discard packets based on their precedence levels. The policer should not drop any packets when the traffic does not exceed the aggregate policing rate. When the traffic exceeds the aggregate policing rate, the policer should drop packets of lower priority levels to make room for packets of higher priority levels.
In other environments, it is also very common to want to enforce a division of bandwidth across arbitrary subsets of traffic (which we refer to as “traffic classes”) in a hierarchical manner where the highest priority class should be able to use any fraction of the available bandwidth, then the next priority should be able to use whatever is left, and so on (possibly with some limitation at each level). It may also be desirable to assign a guaranteed rate to each “traffic class” irrespective of its priority and in addition, divide the remaining bandwidth in the order of priority, as above. A policer can be used to enforce such policies. The policer can operate to discard packets, or alternatively to remark packets to lower their precedence level.